package model;

import java.io.Serializable;

import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;

@Entity
@NamedQueries( { @NamedQuery(name = "Camion.findAll", query = "select o from Camion o") })
public class Camion implements Serializable {
    @Id
    @Column(nullable = false, length = 6, insertable = false, updatable = false)
    private String patente;
    @Column(nullable = false)
    private BigDecimal potencia;
    @Column(nullable = false)
    private BigDecimal rendimiento;
    @Column(name = "TIPO_CAMION", nullable = false, length = 20)
    private String tipoCamion;
    @ManyToOne
    @JoinColumn(name = "PATENTE")
    private Vehiculo vehiculo;

    public Camion() {
    }

    public Camion(Vehiculo vehiculo, BigDecimal potencia, BigDecimal rendimiento, String tipoCamion) {
        this.vehiculo = vehiculo;
        this.potencia = potencia;
        this.rendimiento = rendimiento;
        this.tipoCamion = tipoCamion;
    }

    public String getPatente() {
        return patente;
    }

    public void setPatente(String patente) {
        this.patente = patente;
    }

    public BigDecimal getPotencia() {
        return potencia;
    }

    public void setPotencia(BigDecimal potencia) {
        this.potencia = potencia;
    }

    public BigDecimal getRendimiento() {
        return rendimiento;
    }

    public void setRendimiento(BigDecimal rendimiento) {
        this.rendimiento = rendimiento;
    }

    public String getTipoCamion() {
        return tipoCamion;
    }

    public void setTipoCamion(String tipoCamion) {
        this.tipoCamion = tipoCamion;
    }

    public Vehiculo getVehiculo() {
        return vehiculo;
    }

    public void setVehiculo(Vehiculo vehiculo) {
        this.vehiculo = vehiculo;
        if (vehiculo != null) {
            this.patente = vehiculo.getPatente();
        }
    }
}
